package com.bbva.gptf.back.transformador;

import java.util.Locale;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.core.convert.converter.Converter;

import com.bbva.gptf.back.dominio.Tgpt011Usuario;
import com.bbva.gptf.dto.bean.Usuario;
import com.bbva.jee.arq.spring.core.log.I18nLog;
import com.bbva.jee.arq.spring.core.log.I18nLogFactory;

/**
 * @author Javier Estrella Rodriguez
 * @version 1.0
 * @created 07-ene-2013 18:56:31
 */
public class Tgp011UsuarioTransformador implements
		Converter<Usuario, Tgpt011Usuario> {

	@Autowired
	@Qualifier("locale_ES")
	private transient Locale localizacion;

	private final I18nLog log = I18nLogFactory
			.getLogI18n(Tgp011UsuarioTransformador.class);

	@Autowired
	private Tgp010PerfilTransformador perfilTransformador;
	Tgpt011Usuario usuario;

	@Override
	public Tgpt011Usuario convert(final Usuario source) {
		usuario = null;
		if (log.isTraceEnabled()) {
			log.trace(localizacion, "entrada.metodo",
					"Tgpt011Usuario convert(Usuario source)");
		}
		if (source != null) {
			usuario = new Tgpt011Usuario();
			usuario.setCdUsuario(source.getCdUsuario());
			usuario.setCdBancomer(source.getCdBancomer());
			usuario.setNbUsuario(source.getNbUsuario());
			usuario.setNbCorreo(source.getTxCorreo());
			usuario.setFhAlta(source.getFhAlta());
			usuario.setCdPerfil(perfilTransformador.convert(source.getPerfil()));
			usuario.setStUsuario(source.getStUsuario());
			usuario.setTmUmo(source.getTmUmo());
			usuario.setFhUmo(source.getFhUmo());
			usuario.setCdUsuarioUmo(source.getCdUsuarioUmo());
		}
		return usuario;
	}

	public void setLocalizacion(final Locale localizacion) {
		this.localizacion = localizacion;
	}

	public void setPerfilTransformador(
			final Tgp010PerfilTransformador perfilTransformador) {
		this.perfilTransformador = perfilTransformador;
	}
}